Providing a User Access to a Computer System

ABSTRACT

A method and related electronic apparatus for providing a user access to a computer system, the method comprising: determining at least one object in contact with a surface; generating at least one pulse sequence; actuating the surface based on the at least one pulse sequence; determining an absence of the at least one object from the surface; determining at least one character of a password input based on the at least one pulse sequence.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims the benefit of priority to United Kingdom PatentApplication No. GB1409844.6, filed Jun. 3, 2014, the entire contents ofwhich are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to a method and apparatus for providing auser access to a computer system. The present invention further relatesto a computer program product comprising computer-readable program codefor implementing the steps of such a method when executed on a computer.The present invention yet further relates to but not exclusively for anautomated teller machine comprising the apparatus for providing a useraccess to a computer system.

BACKGROUND

The accessing of electronic equipment by unauthorized users is a knownproblem. There is known method and apparatus for identifying a userthrough a user's input of a pre-registered identification code. Forexample, a user of an automated teller machine (ATM) inputs a four-digitpersonal identification number (PIN) using keys or buttons representingthe numbers 0 to 9. Similarly many mobile devices, such as mobile phonesand tablet computers are ‘locked’ and can be ‘unlocked’ by entering asimilar pre-registered security code or password formed from numbers.

Such identification apparatus and methods have a security problem. Forexample with respect to a banking computer system a stranger candiscover the PIN by surreptitiously watching the user operate the keys,and by skimming (copying the data) on the bank card the stranger cansuccessfully identify themselves as a proper user to access the bankdetails of the user. Similarly with respect to a mobile apparatus, byobserving the user ‘unlock’ the mobile apparatus then the device can beactivated and used without the user's knowledge.

This observation can be direct, the over the shoulder or hidden cameraobservation, or can be indirect, for example using a thermal imagingdevice to observe ‘hot spots’ on the keypad or observing fingerprintscaused by sweat or grease deposited on the surface when in use. Althoughusers can attempt to obscure their fingers as they key in the code byusing their other hand, or wallet as a shield, this approach isproblematic as the user can often find it hard to know which buttontheir finger is aligned with when operating the keys or buttons.

Some approaches have been proposed such as described in JP-A-2004-46548,where when a key is held down for a predetermined period to input acorresponding numeral, the numeral can be input a predetermined timesduring the predetermined period, and further, vibration of a vibratornotifies a user of the number of numeral inputs. Thus when the numeralsin adjacent digits are entered by holding down the numeric key, itbecomes difficult for a stranger to recognize, by observation of thekeys or button pad alone, how often the numeral is input.

However the PIN code as implemented in JP-A-2004-46548 needs to includeidentical numerals in adjacent digits. This restricts PIN codeflexibility in normal 4 digit codes and otherwise can cause the PIN codeto become long. Furthermore although ISO standards relating to PIN codesallow codes up to 12 digits many systems do not support the entry of PINor security codes more than 6 digits.

A further approach as discussed in US20090179779 describes where anidentification code is created by combining multiple information items.One or more of multiple tactile information items that represent acreated identification code are produced based on a correspondencerelation between the multiple tactile information items and the multipleinformation units. Further, identification is performed based ondetermining whether the created identification code is equal to theidentification code that is actually input in response to the producingof the one or more of the multiple tactile information items thatrepresents the created identification code.

BRIEF SUMMARY OF THE INVENTION

The present invention seeks to provide a more robust method andapparatus for providing a user access to a computer system.

The present invention further seeks to provide a computer programproduct comprising computer-readable program code for implementing thesteps of such a method when executed on a computer.

According to an aspect of the present invention, there is provided amethod for providing a user access to a computer system, the methodcomprising: determining at least one object in contact with a surface;generating at least one pulse sequence based on determining the at leastone object in contact with the surface; actuating the surface based onthe at least one pulse sequence; determining an absence of the at leastone object from the surface; determining at least one character of apassword input for providing access to a computer system based on the atleast one pulse sequence before the absence of the at least one objectfrom the surface.

In such embodiments the determination of at least one character of apassword based on the at least one pulse sequence reduces thepossibility of a security code or password being observed and thereforeincreases the security of such as system for providing a user access toa computer system.

Determining at least one object in contact with a surface may comprisedetermining at least one object in contact with a surface at adetermined location or key.

In such embodiments the determination of the at least one object incontact with a surface is based on the contact occurring at a determinedlocation, such as virtual key on a display surface, or a determined keyor button location. For example in some embodiments the determinedlocation is the enter key or enter virtual key location.

Generating at least one pulse sequence may comprise generating a seriesof pulse sequences separated by a determined time period while the atleast one object is in contact with the surface at the determinedlocation or key.

In such embodiments the pulse sequence is generated only when the atleast one object, such as the user's finger, is determined to be incontact with the surface, at the determined area such as the enter keyor the location of the enter virtual key.

Actuating the surface based on the at least one pulse sequence maycomprise sequentially actuating the surface using the series of pulsesequences while the at least one object is in contact with the surfaceat the determined location or key.

In such embodiments the actuation of the surface is touch dependent andtherefore prevents unnecessary movement of the surface. In someembodiments the actuation of the surface may furthermore be at thedetermined location, for example the enter key is actuated.

Determining at least one character of a password input based on the atleast one pulse sequence may comprise determining at least one characterbased on the last one of the pulse sequences actuated before determiningthe absence of the at least one object from the surface at thedetermined location or key.

In such embodiments the character of the password input for providingaccess to the computer system, such as the personal identificationnumber or other security code is determined or generated from based onthe pulse sequences actuating the surface up to when the at least oneobject, such as the finger on the keypad or button, is removed from thedetermined location.

The method may further comprise determining at least one furthercharacter of a password input based on a location of the at least oneobject in contact with a surface.

The method may further comprise determining at least one furthercharacter of a password input based on a key or virtual key locationvalue at the point of contact between the at least one object and thesurface.

In such embodiments the password input or personal identification numberor security code for providing access to the computer can be generatedby a combination of key (or virtual key location) value and the pulsesequence/actuated surface tactile character password input methoddescribed herein.

The method as discussed herein may further comprise determining apassword input for accessing the computer system, wherein determining apassword input may comprise: determining at least one character of apassword input based on a key or virtual key location value; anddetermining a last character of a password input based on determining atleast one object in contact with the surface; generating at least onepulse sequence based on determining the at least one object in contactwith the surface; actuating the surface based on the at least one pulsesequence; determining an absence of the at least one object from thesurface; and determining the last character based on the at least onepulse sequence before the absence of the at least one object from thesurface as discussed herein.

In such embodiments the password input or personal identification numberor security code can be generated using a combination of inputs tofurther improve security and efficiency of input.

Determining at least one object in contact with a surface may comprisedetermining the at least one object is in contact with an enter key orenter virtual key location on the surface and determining the absence ofthe at least one object from the surface may comprise determining anabsence of the at least one object in contact with the enter key orenter virtual key location on the surface.

In such embodiments the password input or personal identification numberor security code character can be provided as the user is contacting ortouching the enter key or button rather than a number key which mayassist the observer in identifying a previous character input.

Generating at least one pulse sequence may comprise generating groups ofat least one pulse, each group of at least one pulse separated by adetermined time period, wherein determining at least one character of apassword input based on the at least one pulse sequence may comprisecounting the number of groups of at least one pulse prior to determiningan absence of the at least one object from the surface to determine theat least one character.

Thus in some embodiments the password input or personal identificationnumber or security code can be generated by the contacting or touchingof the surface for a determined period of time indicated to the user bythe number of pulses between contacting and removing the contact. Forexample where the user experiences three pulses before removing theirfinger the character input is the number 3.

Generating at least one pulse sequence may comprise generating groups ofsequentially increasing numbers of pulses, each separated by adetermined time period, wherein determining at least one character of apassword input based on the at least one pulse sequence may comprisedetermining the number of pulses in the group of pulses prior todetermining an absence of the at least one object from the surface todetermine the at least one character.

Thus in some embodiments the password input or personal identificationnumber or security code can be generated by the contacting or touchingof the surface for a determined period of time wherein the number to beinput is indicated to the user by the number of pulses or relativelength of the number of pulses in a group of pulses before removing thecontact. For example where the user experiences a first group of onepulse, a determined time period pause, a second group of two pulses, adetermine time period pause and then a third group of three pulsesbefore removing their finger the character input can be in someembodiments the number 3.

Generating at least one pulse sequence may comprise: pseudo-randomlydistributing numbers from a range of numbers; generating groups ofpulse(s) associated with the numbers according to the pseudo-randomdistribution; each group of pulses separated by a determined timeperiod, wherein determining at least one character of a password inputbased on the at least one pulse sequence may comprise determining thenumber of pulses in the group of pulses prior to determining an absenceof the at least one object from the surface to determine the at leastone character.

Thus in some embodiments the password input or personal identificationnumber or security code can be generated by the number of pulses betweencontacting and removing the contact, where the order of the number ofpulses in the group is pseudo-randomly ordered. For example where theuser experiences a first group of five pulses, a second group of twopulses, and then a third group of seven pulses before removing theirfinger the character input can be in some embodiments the number 7.

The range of numbers may be the range from 0 to 9.

Generating at least one pulse sequence may comprise generating groups ofa constant number of pulse(s), each group separated by a determined timeperiod, and wherein determining at least one character of a passwordinput based on the at least one pulse sequence may comprise counting thenumber of determined time periods prior to determining an absence of theat least one object from the surface to determine the at least onecharacter.

Thus in some embodiments the password input or personal identificationnumber or security code can be generated by the contacting or touchingof the surface for a determined period of time indicated to the user bythe number of pulses between contacting and removing the contact. Forexample where the user experiences three pauses or determined timeperiods between groups of pulses before removing their finger thecharacter input can be in some embodiments the number 3.

Generating at least one pulse sequence may comprise generating at leastone group of pulses of different lengths, each group separated by adetermined time period, wherein determining at least one character of apassword input based on the at least one pulse sequence may comprisedetermining a value associated with the group of pulses of differentlengths prior to determining an absence of the at least one object fromthe surface.

Thus in some embodiments the password input or personal identificationnumber or security code can be generated by the number and length ofpulses between contacting and removing the contact from the surface. Forexample where the user experiences a group of pulses one short and fourlong before removing their finger the character input can in someembodiments be the number 1 as would be understood from the Morse codefor the number 1. Similarly in some embodiments where the userexperiences a group of pulses short, short, short, long before removingtheir finger then the character input can be the number 1 as would beunderstood from the binary coded decimal code where a short pulse is azero and a long pulse a one value.

The method may further comprise pseudo-randomly determining the timeperiod for the determined time period.

Actuating the surface based on the at least one pulse sequence maycomprise actuating the surface by an air pump controlled based on the atleast one pulse sequence.

Actuating the surface based on the at least one pulse sequence maycomprise actuating the surface by a coil and permanent magnet, whereinthe current passing through the coil is controlled based on the at leastone pulse sequence.

Actuating the surface based on the at least one pulse sequence maycomprise actuating the surface by a vibra controlled based on the atleast one pulse sequence.

Actuating the surface based on the at least one pulse sequence maycomprise actuating the surface by a piezo-electric actuator controlledbased on the at least one pulse sequence.

Actuating the surface based on the at least one pulse sequence maycomprise actuating a button or key located on the surface by anactuator, the button or key and the actuator being damped with respectthe surrounding surface.

The method may further comprise: determining a first identifier prior todetermining the password input; authenticating the first identifieragainst a stored identifier value; validating the password input againsta stored password associated with the stored identifier value.

According to a second aspect there is further provided an electronicapparatus for providing a user access to a computer system, apparatuscomprising: a contact determiner configured to determine at least oneobject in contact with a surface; and furthermore configured todetermine an absence of the at least one object from the surface; apulse sequence generator configured to generate at least one pulsesequence based on the contact determiner; an actuator configured toactuate the surface based on the at least one pulse sequence; and anoutput generator configured to determine at least one character of apassword input for providing access to the computer system based on thepulse sequence generator and the contact determiner.

The contact determiner may be further configured to determine at leastone object in contact with a surface at a determined location or key.

The pulse sequence generator may be configured to generate a series ofpulse sequences separated by a determined time period based on thecontact determiner determines the at least one object in contact withthe surface at a determined location or key.

The actuator may be configured to actuate the surface using the seriesof pulse sequences while the at least one object is in contact with thesurface at a determined location or key.

The output generator may be configured to determine at least onecharacter based on the last one of the pulse sequence actuated beforethe contact determiner determines the absence of the at least one objectfrom the surface at a determined location or key.

The output generator may further be configured to determine at least onefurther character of a password input based on a surface location or keylocation of the at least one object in contact with a surface.

The contact determiner may be configured to determine a contact locationor key contact associated with the at least one object in contact withthe surface.

The output generator may further be configured to determine at least onefurther character of a password input based on a contact location or keycontact associated with the at least one object in contact with thesurface.

The electronic apparatus may further be configured to determine apassword input for providing access to a computer system, whereindetermining the password input may comprise: the output generatorconfigured to determine at least one character of a password input basedon the contact location or key contact associated with the at least oneobject in contact with the surface; and the output generator configuredto determine a last character of a password input based on the last oneof the pulse sequence actuated before the contact determiner determinesthe absence of the at least one object from the surface.

The contact determiner may be configured to determine the at least oneobject is in contact with an enter key or enter virtual key location onthe surface and determine an absence of the at least one object incontact with the enter key or enter virtual key location on the surface.

The pulse sequence generator may be configured to generate groups of atleast one pulse, each group of at least one pulse separated by adetermined time period, wherein the output generator may be configuredto count the number of groups of at least one pulse prior to the contactdeterminer determining an absence of the at least one object from thesurface to determine the at least one character.

The pulse sequence generator may be configured to generate groups ofsequentially increasing numbers of pulses, each separated by adetermined time period, wherein the output generator may be configuredto determine the number of pulses in the pulse number group prior to thecontact determiner determining an absence of the at least one objectfrom the surface to determine the at least one character.

The pulse sequence generator may be configured to generate apseudo-random distribution of numbers from a range of numbers andgenerate groups of pulse(s) associated with the number according to thepseudo-random distribution, each group of pulses separated by adetermined time period; and the output generator may be configured todetermine the number of pulses in the pulse group prior to determiningan absence of the at least one object from the surface to determine theat least one character.

The range of numbers may be the range from 0 to 9.

The pulse sequence generator may be configured to generate groups of aconstant number of pulse(s), each group separated by a determined timeperiod, and wherein the output generator may be configured to determinethe number of determined time periods prior to determining an absence ofthe at least one object from the surface to determine the at least onecharacter.

The pulse sequence generator may be configured to generate a sequencecomprising pulses of different lengths, each sequence separated by adetermined time period, wherein the output generator may be configuredto determine a value associated with the sequence comprising pulses ofdifferent lengths prior to determining an absence of the at least oneobject from the surface to determine the at least one character.

The pulse sequence generator may be configured to pseudo-randomlydetermine the time period for the determined time period.

The actuator may comprise an air pump controlled based on the at leastone pulse sequence.

The actuator may comprise a coil and permanent magnet, wherein thecurrent passing though the coil is controlled based on the at least onepulse sequence.

The actuator may comprise a vibra controlled based on the at least onepulse sequence.

The actuator may comprise a piezo-electric actuator controlled based onthe at least one pulse sequence.

The actuator may be configured to actuate a button or key located on thesurface, wherein the button or key and the actuator are damped withrespect the surrounding surface.

An automated teller machine may comprise: a card reader configured toread a card comprising a first identifier prior to determining thepassword input; an authenticator configured to authenticate the firstidentifier against a stored identifier value; the electronic apparatusfor providing a user access to a computer system as described herein;and a password validator configured to validate the password inputagainst a stored password associated with the stored identifier value.

A computer system may comprise: the electronic apparatus for providing auser access to a computer system as described herein; a passwordvalidator configured to prove access to the computer system based on thepassword as input by the electronic apparatus.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the present invention will now be described, byway of example only, with reference to the following drawings, in which:

FIG. 1 schematically depicts an electronic apparatus suitable forimplementing some embodiments;

FIG. 2 schematically depicts an example keypad/input apparatus accordingto some embodiments;

FIG. 3 schematically a depicts a flow diagram showing an example methodof operating the electronic apparatus according to some embodiments;

FIG. 4 schematically depicts example tactile password character inputapparatus according to some embodiments;

FIG. 5 schematically a depicts a flow diagram showing an example methodof operating the tactile password character input apparatus according tosome embodiments; and

FIG. 6 schematically depicts a flow diagram showing a further examplemethod of operating the electronic apparatus according to someembodiments.

DETAILED DESCRIPTION OF THE EMBODIMENTS

It should be understood that the Figures are merely schematic and arenot drawn to scale. It should also be understood that the same referencenumerals are used throughout the Figures to indicate the same or similarparts.

In the context of the present application, where some embodiments of thepresent invention constitute a method, it should be understood that suchmethods can involve a process for execution by a computer, i.e. acomputer-implementable method. Some of the various steps of the methodcan therefore reflect various parts of a computer program, e.g. variousparts of one or more algorithms.

The various embodiments of the method of the present invention may bestored as computer-executable program code on a computer program productcomprising a computer-readable storage medium. The computer-readablestorage medium may be any medium that can be accessed by a computer forthe retrieval of digital data from said medium. Non-limiting examples ofa computer-readable storage medium include a CD, DVD, flash memory card,a USB memory stick, a random access memory, a read-only memory, acomputer hard disk, a storage area network, a network server, anInternet server and so on.

In the context of the present disclosure, a (computer) system may be asingle device or a collection of distributed devices that are adapted toexecute one or more embodiments of the methods of the present invention.For instance, a system may be a personal computer (PC), a server or acollection of PCs and/or servers connected via a network such as a localarea network, the Internet and so on to cooperatively execute at leastone embodiment of the methods of the present invention. Similarly itwould be understood that in the context of the present disclosure thecomputer system can be any suitable electronic apparatus comprising atleast one processor. For example although the following disclosure isbased largely on an automated teller machine (ATM) for providing accessto a banking computer system it would be understood that the sameapparatus and methods may be applicable to any electronic apparatus forproviding access to a computer system.

In some embodiments the electronic apparatus and computer system are thesame. For example the electronic apparatus and computer system can be apersonal computer, tablet computing apparatus, user equipment, orsmartphone, which require a password to unlock or access the apparatus.

In some embodiments the electronic apparatus and computer system can bephysically separate apparatus or devices configured to communicate witheach other, for example over a wireless telecommunications link. Forexample the electronic apparatus can be a home security or automationinterface apparatus (such as an application interface run on a tabletcomputer configured to communicate with the home security or automationcontroller).

With respect to FIG. 1 an example an electronic apparatus 1 suitable forproviding access to a computer system is shown. In the followingdescription the focus is with respect to the inputting or entering asuitable password (or PIN number or security code) by a keypad orbuttons or switches (or virtual keypad or keys). As such the operationsof authentication of the password are mentioned only in passing and anysuitable authentication method applied. Thus in some embodiments thepassword formed from the characters input as described herein can beauthenticated on the electronic apparatus, or encrypted and transmittedto be authenticated at a remote computer or computer system. Furthermorein some embodiments the authentication as implemented as a result of thepassword formed from the characters input as described herein can be onepart of a multistage authentication. For example, following theintroduction of a bank card into a card reader, a security tagcomprising an identifier, or a biometric identification operation.

Furthermore although the following description is with respect to annumber or numeric password it would be understood that in someembodiments an alpha-numeric password can be formed from apparatus andmethods as described herein. For example in some embodiments eachalphabet character is associated with a number or numeric value—such asan ASCII encoding of the alphabet or a entropy encoding of the alphabet.

As described herein the electronic apparatus 1 can be any suitableelectronic apparatus such as for example an automated teller machine(ATM), a personal computer (PC), a tablet computer, or other mobiledevice for example user equipment or other mobile phone apparatus.

The electronic apparatus 1 in some embodiments comprises at least onemicroprocessor (μP) 13. The microprocessor 13 may be any suitableprocessing means or apparatus and be configured to fetch and executecomputer executable program code.

The electronic apparatus 1 in some embodiments comprises at least onememory 15. The computer executable program code may for example bestored on a memory 15 which is a computer readable storage medium of anysuitable form. The computer readable storage medium may for exampleinclude a CD, DVD, flash memory card, a USB memory stick, a randomaccess memory, a read only memory, a computer hard disk, a storage areanetwork, a network server, an internet server and so on. The memory 15can also comprise in some embodiments a section suitable for storingdata being operated on or generated by the electronic apparatus 1.

Furthermore in some embodiments the end user apparatus 1 may comprise auser interface (UI) 11 configured to enable the user (or end user) tointeract with the electronic apparatus 1. The user interface 11 may forexample comprise any suitable input apparatus or means such as: akeyboard, a mouse, a touch screen input, a digital key reader; a digitaltoken reader. Furthermore the user interface 11 may comprise anysuitable output apparatus or means such as: a display of any suitableformat such as LED, OLED, LCD or printed display, a speaker or headsetsuitable for providing an audio output, or a tactile output such as avibra for providing touch based output.

In some embodiments the user interface 11 comprises a keypad/inputdevice 19 to operate as a suitable input apparatus or means. In someembodiments the keypad/input device 19 is a physical keypad on which canbe printed or displayed the value associated with each of the keys. Forexample the keypad can comprise a numerical keypad wherein the keys arephysical keys or buttons which when depressed actuate a switch or othermechanical device which is registered by the microprocessor 13. In someembodiments the keypad/input device 19 is a virtual keypad, in otherwords an image displayed by a display which when an object is placed inproximity or in contact with the location of an image key generates asignal which can be passed to the microprocessor to register the contactor proximity.

In some embodiments the user interface comprises a display/visual output21. The display/visual output 21 for example can be a display suitablefor providing the user an indication or instruction of the currentaccess requirements. For example the display/visual output 21 candisplay a message indicating to the user that the user is to enter thepersonal identification number (PIN). In some embodiments thedisplay/visual output 21 is configured to display an image of a keypadand operate as a virtual keypad or input device. In such embodiments thedisplay/visual output 21 can be configured to operate also as thekeypad/input device 19. In such embodiments the display/visual output 21can be a touch screen wherein the display is sensitive to proximity orcontact. For example in some embodiments the touch screen is acapacitive touch screen, resistive touch screen or optically monitoredtouch screen. In some embodiments the display/visual output 21 iscontrolled by the microprocessor 13 based on the keypad/input deviceinputs.

In some embodiments the user interface 11 further comprises at least oneactuator (tactile output or tactile output means) 23. The at least oneactuator 23 can in some embodiments be located within or underneath thekeypad/input device 19 and configured to generate a tactile experiencewhen the key is touched or contacted. It would be understood that insome embodiments there can be implemented more than one actuator 23. Forexample in some embodiments more than one key or button of thekeypad/input device is coupled to an associated and separablycontrollable actuator.

The at least one actuator 23 can be implemented according to anysuitable actuator technology. For example in some embodiments theactuator is a continuous air pump with a computer controlled valve whichpermits the flow of air into a simple piston coupled to the key (buttonor surface more generally) to drive the motion of the key. It would beunderstood that in some embodiments the piston is coupled directly tothe key (or surface) and in some embodiments the piston is coupledindirectly via a rubber or other suspension or shock absorbing elementconfigured to tune the motion of the key (or surface) to produce adesired movement.

In some embodiments the actuator/tactile output 23 can be implemented bya suitable electro-magnetic actuator, for example a conductive coil witha permanent magnet located within the coil. The permanent magnet can insome embodiments be either coupled to the key (or surface) directly orindirectly via a rubber or other suspension or shock absorbing elementconfigured to tune the motion of the key (or surface) to produce adesired movement. The magnet can in such situations be configured tomove or actuate the key (or surface) when the coil is energized.

It would be understood that in some embodiments a moving coilelectromagnetic actuator can in some embodiments be employed where thepermanent magnet is fixed and the coil coupled directly or indirectly tothe key (or surface).

In some embodiments the actuator 23 can be implemented by a vibra, suchas an electric motor with an off balanced load. The off balanced loadwhen rotated causes a movement of the key or surface based on the speedof rotation, the mass of the load and the offset of the load.

In some embodiments the actuator/tactile output 23 can be implemented bya piezo-electric actuator coupled directly or indirectly with the key(or surface). In such embodiments the piezo-electric actuator can forexample be configured such as the ends of the piezo-electric actuatorare coupled to the electric apparatus body and the central portion ofthe piezo-electric actuator coupled to the key or surface such that thebending motion of the piezo-electric actuator when a current is passedthrough the material causes a motion of the key or surface relative tothe body of the apparatus.

It would be understood is that in some embodiments the actuator 23 islocated such that it is able to move the display 21 in embodiments wherethe display 21 is implementing a virtual keypad/input device 19.

In some embodiments of the actuator 23 is controlled by themicroprocessor 13 based on the keypad/input device 19 inputs.

The electronic apparatus 1 may further in some embodiments comprise atransceiver (Tx/Rx) 17 suitable for communicating to further electronicapparatus or devices, such as the computer system to be accessed by theuser.

With respect to FIG. 2 an example implementation of a user interface 11comprising a physical keypad 19 and actuator 23 is shown. In thefollowing examples the embodiments described an automated teller machine(ATM) physical keypad coupled with a suitable actuator 23. FIG. 2 showson the left side a plan view of an example physical keypad withnumerical keys 101 from 1 to 9 for providing a numerical input betweenthe range of 1 and 9 and separate help, cancel and enter keys 103.

It would be understood that although the example shown in FIG. 2 shows akeypad with the numbers 1 to 9 in some embodiments the keypad may have arange of 0 and 9.

In the example shown herein there is provided one actuator configured tomove 157 the enter key 103 configured to provide the tactile feedback.

The right hand side of FIG. 2 shows a cross-sectional view of thephysical keypad 19. The enter key 103 is located over a suitable hollow155. Within the hollow is located the actuator 23. In the example shownin figure to the actuator 23 is suspended or dampened by coil springs153 mounted from the walls of the hollow 155. However it would beunderstood that a dampening of the actuator with respect to theelectronic apparatus can be performed by any suitable dampening means.For example in some embodiments a rubber, plastic or other vibrationdampening material can be used to mount the actuator 23 within thehollow 155. The actuator 23 is furthermore in coupled or connected insome embodiments to the physical enter key 103 by a rubber pad 151. Therubber pad 151 or other suitable vibration dampening or tuning device,such as a plastic or similar elastic material between the physical enterkey 103 and the actuator 23 is configured to tune the vibration of thekey or surface by the actuator 23 to produce an acceptable or desiredmovement.

With respect to FIG. 3 an example operation an automated teller machine(ATM) comprising the electronic apparatus 1 as described herein isdescribed.

In some embodiments the ATM comprises a card reader configured toreceive and read a suitable ATM card (or bank card, client card, keycard, debit card, credit card or cash card). The card reader can beconfigured to read an integrated circuit embedded within the ATM card(or the magnetic strip on the reverse side of the ATM card). The cardreader can for example in some embodiments determine that a cardholderverification involving a personal identification number is to beapplied. Furthermore in some embodiments the card reader can for exampledetermine the identity associated with the card.

Thus in some embodiments the ATM is configured to determine whether ornot a card has been inserted into the electronic apparatus.

The operation of checking whether a suitable card has been inserted, inother words an insert card check operation is shown in FIG. 3 by step201.

When the ATM determines that a suitable card requiring the input of aPIN number has been entered then the method can proceed, otherwise themethod loops back to waiting to check whether a suitable card has beenentered.

With respect to FIG. 4 an example electronic apparatus suitable forproviding a user access to a computer system such as shown in FIGS. 1and 2 is shown in further detail.

In some embodiments the electronic apparatus comprises a contact (touch)determiner 307. The contact determiner 307 is configured to receivesignals from the keypad 19 (or in some embodiments from the touch screenwhere the touch screen is implementing a virtual keypad). Specificallyin some embodiments the contact determiner 307 is configured to receivethe physical key outputs (for example the key switch outputs) generatedby the numeric keys 101 and the other keys such as the enter key 103. Itwould be understood that in some embodiments of the contact determiner307 further can receive and input from a touch screen interface, orexample where the keypad is a virtual keypad implemented on the displayof the touch screen.

The contact determiner 307 in some embodiments is configured todetermine whether a contact has occurred with at least one of the keys(or at least one of the virtual key locations) and furthermore determine(or generate) a parameter associated with the key contact. For examplein some embodiments the contact determiner 307 is configured todetermine the value of the key (or the virtual key), the duration ofcontact of the key (or virtual key), or for example the periodicity ofcontact. It would be understood that in some embodiments that thecontact determiner 307 can furthermore be configured to determine wherecontact has occurred that contact is no-longer occurring, in other wordsthe absence of contact.

In some embodiments the contact determiner 307 can be configured todetermine the at least one object which is in contact with the key (ormore generally the surface). For example the contact determiner 307 canin some embodiments determine whether the object is a fingertip, acovered or gloved finger, a pointer, a pen or similar implement.

The contact determiner 307 can in some embodiments output a signal to akeypad output generator 309 and the pulse sequence generator 301 for theeffect of controlling the operation of the output generator 309 and thepulse sequence generator 301.

The contact determiner 307 can therefore in some embodiments beconfigured to determine at least one object in contact with a surfacefor example a key press or key contact and pass a signal to the outputgenerator 309.

The operation of determining a key press or key contact is shown in FIG.3 by step 203.

In some embodiments the electronic apparatus comprises an (keypad)output generator 309 configured to determine and output a numerical oralpha-numerical string value or character associated with the determinedkey press or key contact. Thus for example in some embodiments theoutput generator 309 is configured to append a new recorded ordetermined keypad value. For example with respect to the example shownin FIG. 2 a number value between 1 and 9 can be added or appended to theoutput string for forming a password character string. In someembodiments of the output generator 309 is a further configured to notappend the character value when a specific keypad or key value has beenrecorded. Thus for example in some embodiments the determination of acancel, help or enter key value is configured to not append the value tothe string and in some embodiments to perform a different operation. Forexample the cancel or clear key can cancel or clear the currentoperation by triggering a suitable interrupt process rather thanappending a character. Similarly in some embodiments the determinationof a help key value is configured to trigger a suitable help interruptprocess rather than append a help key value to the password or string.

The operation of appending a key press value to the password numberstring is shown in FIG. 3 by step 205.

In some embodiments the contact determiner 307 (or in some embodimentsthe output generator 309) is further configured to detect whether theenter key was the key pressed.

The operation of checking whether the determined key pressed orcontacted is the enter key is shown in FIG. 3 by step 207.

Where the contact determiner 307 (or output generator 309) determinesthat the key pressed or contacted is not the enter key then theoperation can pass back to step 203 where the next contact is determined(in other words waiting for the next key press).

This loop is shown in FIG. 3 by the ‘No’ loop from the step 207 to thestep 203.

In some embodiments where the contact touch determiner 307 (or theoutput generator 309) is configured to determine that the key pressed orcontacted is the enter key then the contact touch determiner 307 oroutput generator 309) can be configured to initiate a tactile inputoperation.

A tactile input operation is one where the electronic apparatus isconfigured to generate a tactile effect (such as a pulse sequence) whichis experienced by the user via the contacted (or touched) surface (forexample the contacted key) and which indicates to a user a charactervalue which when the contacted surface is released is then appended tothe password.

The operation of determining a tactile input is shown in FIG. 3 by step209.

The contact touch determiner 307 can then be configured to output thetactile input value to the output generator 309. The output generatorcan then in some embodiments be configured to append or output thetactile input value to the password (number) string for providing apassword to be checked.

The operation of appending or outputting a tactile input value to thenumber string is shown in FIG. 3 by step 211.

The outputted password or string can then be authenticated by the ATM todetermine whether the user is able to access the computer system.

The operation of authentication of the password or string comprising atleast one tactile input value is shown in FIG. 3 by step 213.

It would be understood that when tactile or vibration-based input isused for the last of the pin number and when this is implemented usingthe enter key (or other non-numerical key) then in such embodiments theuser is not required to ‘hover’ longer over the last numerical keypadbutton and therefore expose that number.

The operation of determining a tactile input value is shown with respectto the flow diagram shown in FIG. 5, and furthermore with regards to theelectronic apparatus shown in FIG. 4.

In some embodiments the electronic apparatus comprises a pulse sequencegenerator 301. The pulse sequence generator 301 is configured togenerate suitable pulse sequence signals which can be passed to anactuator driver 305. The pulse sequence generator 301 can in someembodiments be controlled based on signals passed from the contactdeterminer 307 (and/or in some embodiments the keypad output generator309).

Thus for example when the contact determiner 307 has determined that akey (or surface) has been pressed or contacted, then the contactdeterminer 307 is configured to provide an indicator or signal to thepulse sequence generator 301 to generate at least one pulse sequence. Itwould be understood and as described herein the contact determiner 307is configured to generate such a signal when determining at least oneobject in contact with the surface or key for a determined location orkey, for example as described herein when the contact determiner 307determines that the enter key has been pressed or contacted.

The operation of determining at least one object in contact (ortouching) with a key or surface is shown in FIG. 5 by step 401.

The pulse sequence generator 301 can then in some embodiments beconfigured to begin generating a suitable pulse sequence. In someembodiments it would be understood that a first pulse sequence can be agroup or sequence of zero pulses, a null pulse sequence, representing atactile input value of 0. However in some embodiments the pulse sequencegenerator 301 is configured to generate a group of at least one pulse.The pulse sequence generator 301 can be configured to continuegenerating further groups of at least one pulse, where the sequences orgroups are separated by a pause or determined time period.

The operation of generating a pulse sequence is shown in FIG. 5 by step403.

The pulse sequence generator 301 can in some embodiments be configuredto output the generated pulse sequence to the actuator driver 305.

The electronic apparatus in some embodiments comprises an actuatordriver 305. The actuator driver 305 is configured to receive thegenerated pulse sequence and drive or power the actuator 23 such that asuitable tactile experience is provided. For example in some embodimentsthe actuator driver 305 comprises a control circuit for controlling thevalve coupled to the air pump which is configured to move the pistoncoupled to the key (or surface more generally). In some embodiments itwould be understood that the actuator driver 305 and the actuator 23 canbe combined and the pulse sequence generator be configured to signal tothe actuator 23 with the generated pulse sequence which actuates the keyor surface.

The operation of driving the actuator with the pulse wave sequence isshown in FIG. 5 by step 405.

The contact determiner 307 is further configured to determine whetherthe at least one object (such as the finger) has been removed from thekey or surface, in other to determine the absence of an object incontact with the surface or key. It would be understood that in someembodiments the contact determiner 307 is configured to determinewhether the at least one object is still in contact with the key orsurface and therefore by determining that the at least one object isstill in contact determine that the at least one object is not absent.

The operation of detecting or determining the absence of the object fromthe surface or key is shown in FIG. 5 by step 407.

Where the absence of the object is not determined, in other words thatthe object (finger) is still in contact with the surface or key then thecontact determiner 307 (or output generator 309) is further configuredto signal to the pulse sequence generator 301 that the pulse wavesequences are to be continued. In some embodiments the contactdeterminer 307 is configured to determine that the object (the finger)is in contact with the surface (or key) and generate a signal which ispassed to the pulse sequence generator 301 controlling the pulsesequence generator 301 to continue generating pulse sequences.

The operation of detecting or determining the removal of the object fromthe key has not occurred (that the object is still in contact) is shownin FIG. 5 by the loop from step 407 back to step 403.

The contact determiner 307 in some embodiments, after determining theabsence of the object (in other words that the finger has been removedfrom the key), can be configured to determine and output a value basedon the last pulse sequence to the keypad output generator 309. Forexample in the example described earlier where the pulse sequencegenerator 301 is configured to generate pulse sequences of groups of atleast one pulse separated by a determined time period, then the contactdeterminer 307 can be configured to determine or count the number ofsequences or groups of at least one pulse which have been output andthis number. Thus for example where a single group of at least one pulseis output the number passed to the output generator 309 is 1, where twogroups of at least one pulse are output the number is 2, and so on.

The operation of outputting a value based on the last pulse sequencebefore determining the absence of the object is shown in FIG. 5 by step409.

The pulse sequence generator 301 and the determination of the contactdeterminer value passed to the output generator can be based on anysuitable progression.

As described herein in some embodiments the contact determiner 307 isconfigured to operate as a counter which is incremented every time apulse sequence is generated.

In some embodiments the number value 0 can represented or generated bythe user removing the at least one object from the surface before asequence is output. For example there is a determined time periodfollowing the determination of contact at the enter key and the outputof the first generated sequence or group of a single pulse or pulseswhen the contact determiner 307 is configured to output a 0 value. Insome moments the number value 0 can be represented or generated bymaintaining contact with the surface or key and removing the contactafter 10 sequences are generated and output.

In some embodiments the number value output is offset by one sequence.In other words the first sequence is associated with the number valuezero, the second sequence is associated with the number value one and soon.

In some embodiments rather than counting the number of pulse sequencesthe contact determiner 307 is configured to count the determined periodsor pause periods between the groups of the at least one pulse. In otherwords the pulse sequence generator and the actuator driver is configuredto generate sequences of at least one pulse separated by a determinedtime period, wherein the contact determiner 307 is configured togenerate a value based on the number of determined time periodsexperienced between the output sequences.

Thus in some embodiments the number value 0 is represented or generatedby the user removing their finger or object of contact from the surfaceor key as the first sequence is generated, the value 1 is represented orgenerated by the user removing their finger or object of contact fromthe surface or key after the first time period, in other words duringthe second sequence of at least one pulse and so on.

It would be understood that in some embodiments the determined timeperiod is a fixed period however in some embodiments the determined timeperiod is a pseudo-randomly determined time period. A pseudo-randomlydetermined time period between pulses or groups of pulses (or in someembodiments the time period before the first actuated pulse or group ofpulses) increases the security of the system as it prevents the casualobserver from determining the ‘entered’ number by timing the contactperiod and dividing it by an observed pulse determined time period.Furthermore it would be understood that in some embodiments thepseudo-randomly determined time period in some embodiments is constantfor a user, in other words the determined time period is generated foreach user but constant for the user, or can be varied or changed betweenpulse sequences.

In some embodiments the pulse sequence generator 301 is configured togenerate groups of sequentially increasing numbers of pulses for thesequences. For example in some embodiments the first pulse sequence is asingle pulse or a first number of pulses, the second pulse sequence is asequence of two pulses (or a second number of pulses, the second numberbeing greater than the first number) and so on.

Thus in some embodiments the number value 1 can be represented by thefirst pulse sequence (a single pulse), the number value 2 is representedby the second pulse sequence (two pulses), the number value 3 isrepresented by the third pulse sequence (three pulses) and so on.

The number value 0 in such embodiments can be represented by releasingthe contact from the surface before the first pulse sequence is output(or as described herein after the tenth pulse sequence).

In some embodiments the pulse sequence generator 301 is configured togenerate pulse sequences associated with a number from a randomlydistributed number range. In other words a number range (such as 0 to 9)is randomly distributed or pseudo-randomly distributed, a pulse sequencerepresenting the number value is associated with the number value andthe pulse sequences output according to the random or pseudo-randomdistribution. For example the pulse sequence generator 301 is configuredto associate a single pulse (or a first number of pulses) with thenumber value 1, two pulses (or a second number of pulses greater thanthe first number) with the number value 2, three pulses (or a thirdnumber of pulses greater than the second number) with the number 3 andso on. These sequences are then output in an order determined by therandom or pseudorandom ordering. In such embodiments the number valueoutput is not directly represented by the length of time that the objectis in contact with the surface and therefore the number value outputcannot be estimated by observing the length of time the object is incontact with the surface or key.

In some embodiments of the pulse sequence generator is configured togenerate either a sequentially increasing determined time period or arandomly distributed increasing time period similar to that describedabove with respect to the pulse sequences but applied to the pause ordetermined time periods between groups or sequences of pulses. In otherwords in some embodiments the number value 1 is represented by a firstshort determined period, the number value 2 is represented by a longerdetermined period, and the value 3 is represented by an even longervalue than the longer determined period. The pulse sequence generator301 can then be configured to output these determined periods betweenpulses either sequentially or according to a random or pseudo-randomdistribution order.

In some embodiments the pulse sequence generator 301 is configured togenerate pulses of two or more different lengths to represent a numbervalue. In some embodiments the number value associated with the pulsesis such that the different lengths of pulse represent differing numbervalues. For example the pulse sequence generator 301 can be configuredto generate a number value represented by a known coding method such asMorse code, short Morse code, ASCII code, entropy code or other code.For example the Morse code representation of 1 can be a single shortpulse followed by four longer pulses, 2 represented by two short pulsesfollowed by three longer pulses and so on.

In some embodiments the pulse sequence generator 301 is configured togenerate with the pulses of two or more lengths a number based on abinary number. This for example, where a long pulse represents a one inbinary and a short pulse represents a zero in binary, the number 4 canbe generated by a pulse sequence of ‘short’, ‘long’, ‘short’, ‘short’, anumber value 8 can be generated by a pulse sequence of ‘long’, ‘short’,‘short’, ‘short’ and a number 0 can be generated by a pulse sequence of‘short’, ‘short’, ‘short’, ‘short’. In the above example the binaryrepresentation is a fixed length binary representation of the number.However it would be understood that variable length binaryrepresentation of the number can be employed in some embodiments.

In the example provided above the personal identification number ornumber password is generated by a combination of conventional keycontact or key press values and a final tactile value determination.However it would be understood that in some embodiments the full pinnumber or password can be generated by tactile input alone.

For example FIG. 6 shows a full tactile input password or pindetermination method where the only physical key press value which isprocessed is that of the key press enter value.

Thus in this example the card reader of the ATM determines that the cardhas been inserted and requests that a personal identification number isinput or entered.

The operation of detecting or determining the card has been inserted isshown in FIG. 6 by step 501.

The user then contacts (or presses one of the keys or the surface),which is detected or determined by the contact determiner 307.

The operation of determining a contact (that a key has been pressed orthe surface contacted) is shown in FIG. 6 by step 503.

The contact determiner 307 (or the output generator 309) can in someembodiments then be configured to determine whether the surface contact(or key contact or key press) is the enter key.

The check step to determine whether the surface contact (key contact)was the enter key is shown in FIG. 6 by step 505.

Where the contact determiner 307 (or in some embodiments the outputgenerator 309) determines that the surface contact was that of the enterkey then the output generator 309 outputs the number string.

The output of the number string operation is shown in FIG. 6 by step507.

Where the contact determiner 307 (or in some embodiments the keypadoutput generator 309) determines that the surface contact is a key otherthan the enter key, such as the numerical keys, then the contact touchdeterminer 307 is configured to control the pulse sequence generator 301to generate a pulse sequence such as described herein in order todetermine a tactile input value.

This determination of a tactile input value is described herein and isshown with respect to FIG. 6 in step 209.

Furthermore the contact determiner 307 can be configured to output thetactile input value which is then appended to a password (or personalidentification number) string.

Furthermore the operation of appending the tactile input value to thenumber or password string is shown in FIG. 6 by the step 211.

Following the appending of the tactile input value the operation canpass back to the step 503 where the contact determiner is configured towait or determine when the next contact of the surface is made (in otherwords the next key contact or key press occurs).

It would be understood that in such embodiments any observation of theuser pressing keys or contacting the surface has no direct link betweenthe keys or the locations being contacted or pressed and the output(numerical) password string used as the personal identification number.In such a way the user can contact or touch keys to represent a falsenumber value (by pressing any suitable combination of keys) whileentering the correct personal identification number value based on thetactile key value.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

1. A method for providing a user access to a computer system, the methodcomprising: determining at least one object in contact with a surface;generating at least one pulse sequence based on determining the at leastone object in contact with the surface; actuating the surface based onthe at least one pulse sequence; determining an absence of the at leastone object from the surface; and determining at least one character of apassword input based on the at least one pulse sequence before theabsence of the at least one object from the surface.
 2. The method asclaimed in claim 1, wherein: determining at least one object in contactwith a surface comprises determining at least one object in contact witha surface at a determined location or key; generating at least one pulsesequence comprises generating a series of pulse sequences while the atleast one object is in contact with the surface at the determinedlocation or key; actuating the surface based on the at least one pulsesequence comprises sequentially actuating the surface using the seriesof pulse sequences while the at least one object is in contact with thesurface at the determined location or key; and determining at least onecharacter of a password input based on the at least one pulse sequencecomprises determining at least one character based on the last one ofthe series of pulse sequences actuated before determining the absence ofthe at least one object from the surface at the determined location orkey.
 3. The method as claimed in claim 1, wherein generating at leastone pulse sequence comprises generating groups of at least one pulse,each group of at least one pulse separated by a determined time period,wherein determining at least one character of a password input based onthe at least one pulse sequence comprises counting the number of groupsof at least one pulse generated prior to determining an absence of theat least one object from the surface.
 4. The method as claimed in claim1, wherein generating at least one pulse sequence comprises generating agroups of sequentially increasing numbers of pulses, each separated by adetermined time period, wherein determining at least one character of apassword input based on the at least one pulse sequence comprisesdetermining the number of pulses in the group of pulses prior todetermining an absence of the at least one object from the surface. 5.The method as claimed in claim 1, wherein generating at least one pulsesequence comprises: pseudo-randomly distributing numbers from a range ofnumber; generating groups of pulse(s) associated with the numbersaccording to the pseudo-random distribution; each group of pulse(s)separated by a determined time period, wherein determining at least onecharacter of a password input based on the at least one pulse sequencecomprises determining the number of pulses in the group of pulses priorto determining an absence of the at least one object from the surface.6. The method as claimed in claim 1, wherein generating at least onepulse sequence comprises generating at least one pulse sequencecomprises generating groups of a constant number of pulse(s), each groupseparated by a determined time period, and wherein determining at leastone character of a password input based on the at least one pulsesequence comprises counting the number of determined time periods priorto determining an absence of the at least one object from the surface.7. The method as claimed in claim 2, further comprising pseudo-randomlydetermining the time period for the determined time period.
 8. Anelectronic apparatus for providing a user access to a computer system,apparatus comprising: a contact determiner configured to determine atleast one object in contact with a surface; and furthermore configuredto determine an absence of the at least one object from the surface; apulse sequence generator configured to generate at least one pulsesequence based on the contact determiner; an actuator configured toactuate the surface based on the at least one pulse sequence; and anoutput generator configured to output at least one character of apassword input based on the at least one pulse sequence and contactdeterminer.
 9. The electronic apparatus as claimed in claim 8, wherein:the pulse sequence generator is configured to generate a series of pulsesequences based on the contact determiner determining the at least oneobject in contact with the surface at a determined location or key; theactuator is configured to actuate the surface using the series of pulsesequences while the at least one object is in contact with the surfaceat the determined location or key; and the output generator isconfigured to determine at least one character based on the last one ofthe pulse sequence actuated before the contact determiner determines theabsence of the at least one object from the surface at the determinedlocation or key.
 10. The electronic apparatus as claimed in claim 8,wherein the pulse sequence generator is configured to generate groups ofat least one pulse, each group of at least one pulse separated by adetermined time period, wherein the output generator is configured tocount the number of groups of at least one pulse prior to the contactdeterminer determining an absence of the at least one object from thesurface to determine the at least one character.
 11. The electronicapparatus as claimed in claim 8, wherein the pulse sequence generator isconfigured to generate a sequentially increasing numbers of pulses, eachseparated by a determined time period, wherein the output generator isconfigured to determine the number of pulses in the pulse numbersequence prior to the contact determiner determining an absence of theat least one object from the surface to determine the at least onecharacter.
 12. The electronic apparatus as claimed in claim 8, whereinthe pulse sequence generator is configured to generate a pseudo-randomdistribution of numbers from a range of numbers and generate groups ofpulse(s) associated with the number according to the pseudo-randomdistribution, each group of pulses separated by a determined timeperiod; and the output generator is configured to determine the numberof pulses in the group of pulses prior to the contact determinerdetermining an absence of the at least one object from the surface todetermine the at least one character.
 13. The electronic apparatus asclaimed in claim 8, wherein the pulse sequence generator is configuredto generate groups of a constant number of pulse(s), each groupseparated by a determined time period, and wherein the output generatoris configured to determine the number of determined time periods priorto the contact determiner determining an absence of the at least oneobject from the surface to determine the at least one character.
 14. Theelectronic apparatus as claimed in claim 8, wherein actuator comprisesat least one of: an air pump controlled based on the at least one pulsesequence; a coil and permanent magnet, wherein the current passingthough the coil is controlled based on the at least one pulse sequence;a vibra controlled based on the at least one pulse sequence; apiezo-electric actuator controlled based on the at least one pulsesequence.
 15. The electronic apparatus as claimed in claim 8, whereinthe actuator is configured to actuate a button or key located on thesurface, wherein the button or key and the actuator are damped withrespect the surrounding surface.